#include "widget.h"
#include "ui_widget.h"
#include "ui_sigwid.h"
#include "business.h"
#include"manager.h"
#include "ui_business.h"
#include "sigwid.h"
#include "client.h"
#include "ui_client.h"
#include<iostream>
#include<fstream>
#include<QDebug>
#include<QString>
#include<QMessageBox>
#include <QKeyEvent>
#include<QFile>
#include<QButtonGroup>
#include<QCoreApplication>
//#include<sigwid.cpp>


#include"controller/managercontroller.h"
#include"controller/merchantcontroller.h"


using namespace std;
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("登录界面");
    QButtonGroup *group = new QButtonGroup(this);
    group->addButton(ui->checkBox_2,1);
    group->addButton(ui->checkBox_3,2);
    setWindowIcon(QIcon(":/new/prefix1/logo_win.png"));
//    this->setStyleSheet("background-image: url(:/new/prefix1/shitang.jpg);");
    //this->setStyleSheet("background-image: url(:/new/prefix1/shitang.jpg);");
}

Widget::~Widget()
{
    delete ui;
}
//界面美化
//void Widget::keyPressEvent(QKeyEvent *event)
//{
//    if(event->key()==Qt::Key_F6)
//    {
//    QFile f;
//    auto str=QCoreApplication::applicationDirPath();
//    f.setFileName(str+"//"+"stuqss.css");
//    f.open(QIODevice::ReadOnly);
//    QString str1 =f.readAll();
//    this->setStyleSheet(str1);
//    }
//}

//选择最小化
void Widget::on_toolButton_clicked()
{
    showMinimized();
}

//删除当前的窗口
void Widget::on_toolButton_2_clicked()
{
    close();
}


//用户登录
void Widget::on_logButton_clicked()
{
    QString tip;
//获取用户id
    QString userid= ui->lineEdit->text();
//    qDebug()<< QString("用户名称为:")<<userid;
//    tip="用户输入的名称长度为：";
//    cout<<qPrintable(tip)<<userid.length()<<endl;

//    if(userid.length()==0){
//       QMessageBox::warning(this,tr("failed"),tr("名称输入为空"),QMessageBox::Yes);
//       return;
//    }

//获取用户密码
     QString  passwd= ui->lineEdit_2->text();
//    qDebug()<< QString("用户密码为:")<<passwd;
//    tip="用户输入的密码长度为：";
//    cout<<qPrintable(tip)<<passwd.length()<<endl;

//    if(passwd.length()==0){
//       QMessageBox::warning(this,tr("failed"),tr("密码输入为空"),QMessageBox::Yes);
//       return;
//    }

//获取用户类型
//    sign=nullptr;
     User user;
     user.phone=userid.toStdString();
     user.password=passwd.toStdString();
     if(ui->checkBox_2->isChecked()){
         //用户类型为商家
            //商家登录
        MerchantController merCon;

        if(merCon.login(user))
        {
            //todo:
            //弹出商家界面
            //将merCon传入界面类中
            qDebug()<<"登录成功";
            business *_business = new business;
            _business -> set_inform(QString::fromStdString(user.phone),QString::fromStdString(user.name));
            _business -> setMerchantController(merCon);
            _business -> show();
            this->close();
        }
        else
        {
            //输入有误
            //todo:弹出警告框
            qDebug()<<"登录失败";
             QMessageBox::warning(this,tr("failed"),tr("账号密码不匹配，请重新输入"),QMessageBox::Yes);
            qDebug()<<QString::fromStdString(user.phone);
        }
    }
    else if(ui->checkBox_3->isChecked()){
        //管理员登录
         ManagerController manCon;
         if(manCon.login(user))
         {
             qDebug()<<"登录成功";
               manager *manage=new manager;
               manage->setManagerController(manCon);//信息传递
               manage->show();
               this->close();
         }
         else
         {
             //输入有误
             //todo:弹出警告框
             qDebug()<<"登录失败";
             qDebug()<<QString::fromStdString(user.creditCard);
              QMessageBox::warning(this,tr("failed"),tr("账号密码不匹配，请重新输入"),QMessageBox::Yes);
         }
    }
    else{
        qDebug()<< QString("用户未选择类型");
        QMessageBox::warning(this,tr("failed"),tr("未选择类型，请重新选择"),QMessageBox::Yes);
        return;
    }

//调用登录函数，传参为id,passwd,sign,均为QString
//    int flag=1;


//用户登录成功
//    if(flag==1){
//        //弹出登陆成功窗口
//        QMessageBox::information(this,tr("success"),tr("您已登陆成功"),QMessageBox::Yes);

//        //根据用户类别生成新的窗口
//        cout<<qPrintable(sign)<<endl;
//        if(sign==QString("user")){
//客户
//            QMessageBox::information(this,tr("success"),tr("您的类别为客户"),QMessageBox::Yes);
//            client *ur=new client;
//            ur->show();
//        }
//        else if(sign==QString("business")){
//商家
//            QString businame="蜜雪冰城";
//            //成功登录就进入主界面
//            QMessageBox::information(this,tr("success"),tr("您的类别为商家"),QMessageBox::Yes);
//            this->close();
//            //定义一个business类的对象
//            business *buswid=new business();
//            buswid->setWindowTitle("商家界面");
//            //设置商家信息
//            qDebug()<<QString("商家信息为：")<<userid<<businame;
//            buswid->set_inform(userid,businame);
//            qDebug()<<buswid->id<<buswid->name;
//            //显示子界面
//            buswid->show();

//        }
//        else if(sign==QString("manager")){
//管理者

//            QMessageBox::information(this,tr("success"),tr("您的类别为管理员"),QMessageBox::Yes);



//            this->close();
//            //定义一个business类的对象
//            manager *manage=new manager();
//            manage->setWindowTitle("商家界面");
//            //设置商家信息
//            qDebug()<<QString("商家信息为：")<<userid;
//            manage->inform(userid);
//            //显示子界面
//            manage->show();
//        }

//    }
////用户登录失败
//    else{
//        QMessageBox::warning(this,tr("failed"),tr("账号或密码输入错误"),QMessageBox::Yes);
//        return;
//    }

}

//用户注册
void Widget::on_sigButton_clicked()
{
    //this->hide();
    sigwid *r=new sigwid;
    r->show();
//    sig_wgd.show();
    //sigwid::on_sig_ok_clicked();
    //sigwid *sig_wgd=new sigwid(this);
//    QString tip;
//获取用户id
//    QString usrname = "";

//    qDebug()<< QString("用户名称为:")<<userid;
//    tip="用户输入的名称长度为：";
//    cout<<qPrintable(tip)<<userid.length()<<endl;

//    if(userid.length()==0){
//       QMessageBox::warning(this,tr("failed"),tr("名称输入为空"),QMessageBox::Yes);
//       return;
//    }

//获取用户密码
//    QString passwd_cp;
//    passwd= ui->sig_pwd->text();
//    passwd_cp=ui->lineEdit_3->text();
//    qDebug()<< QString("用户密码为:")<<passwd;
//    tip="用户输入的密码长度为：";
//    cout<<qPrintable(tip)<<passwd.length()<<endl;

//    if(passwd.length()==0){
//       QMessageBox::warning(this,tr("failed"),tr("密码输入为空"),QMessageBox::Yes);
//       return;
//    }
//    else if()



}


